from flask import Flask,Response,request
import data_op


app = Flask(__name__)


@app.route('/')
def hello_world():
    return 'Hello World!'

#1.1 以月份为单位，提供指定年份的各个月的出境流量，请求参数：年份.示例 ?year = 2024
@app.route('/query_year')
def query_year():
    year = int(request.args.get('year', 2024))
    return Response(data_op.query_year(year), mimetype='application/json')  

#1.2 以出境模式为单位，提供指定月份的出境流量数据，请求参数：月份 示例 ?month = 6
@app.route('/query_type')
def query_type():
    month = int(request.args.get('month', 6))
    return Response(data_op.query_type(month), mimetype='application/json')  

#1.3 以敏感等级为单位，提供指定月份的出境流量数据，请求参数：月份 ?month = 6
@app.route('/query_level')
def query_level():
    month = int(request.args.get('month', 6))
    return Response(data_op.query_level(month), mimetype='application/json')   

#1.4 以省份为单位，提供指定月份的省份出境流量数据，请求参数：月份 ?month = 6
@app.route('/query_province')
def query_province():
    month = int(request.args.get('month', 6))
    return Response(data_op.query_province(month), mimetype='application/json') 

#1.5 以出境流量接收国家为单位，提供指定月份的出境国家流量数据，请求参数：月份 ?month = 6
@app.route('/query_nation')
def query_nation():
    month = int(request.args.get('month', 6))
    return Response(data_op.query_nation(month), mimetype='application/json') 

#1.6 这个接口是1.2,1.3,1.4,1.5四个接口的数据总和。
#提供指定月份的出境流量总览数据，包括出境流量等级、出境模式，各省出境情况。请求参数：月份 示例：?month = 6
@app.route('/query_all')
def query_all():
    month = int(request.args.get('month', 6))
    return Response(data_op.query_all(month), mimetype='application/json') 

#2.1企业流量数据总览：指定月份的企业数据,实现排序功能,提供前20个企业的数据,请后端按照这个要求来。请求参数：月份。示例?month = 6
#（这个数据需要尽量前几名的企业尽量占据80%以上的流量，从测试数据代码来先考虑前20个企业）
@app.route('/query_company')
def query_company():
    month = int(request.args.get('month', 6))
    return Response(data_op.query_company(month), mimetype='application/json')   

#2.2提供指定企业的指定月份的流量数据，输入为该公司的id号 示例 id = 2 month = 6
@app.route('/query_company_one')
def query_company_one():
    id = int(request.args.get('id', 1))
    month = int(request.args.get('month', 6))
    return Response(data_op.query_company_one(id,month), mimetype='application/json')   

#3.数据链路展示，输入数据链路所属的id号，获得数据链路，输入参数为：链路id号
@app.route('/query_route')
def query_route():
    id = int(request.args.get('id', 1))
    return Response(data_op.query_route(id), mimetype='application/json')   
  


if __name__ == '__main__':
    app.run()